package zhu.yu.api;
import java.util.ArrayList;

/*
数组的长度不可以发生改变
但是ArrayList集合的长度是可以随意变化的

对于ArrayList来说，有一个尖括号 <E> 代表泛型    括号里面只能写引用类型
泛型：也就是装在集合当中的所有元素，全都是统一的什么类型
注意：泛型只能是引用类型，不能是基本类型

注意事项：
对于ArrayList集合来说，直接打印得到的不是地址值，而是内容
如果内容是空，得到的是空中括号: []

public boolean add(E e); 添加元素    返回值代表添加是否成功
    备注：对于ArrayList集合来说，add添加动作一定是成功的，所以返回值可用可不用，但是对于其他集合来说，add添加动作不一定成功

public E get(int index); 根据索引查询  返回查询到的元素
public E remove(int index); 根据索引删除  返回删除的元素  // 类似python列表方法： pop()
Public int size(); 获取集合的尺寸长度，返回值是集合中包含的元素个数  // 类似 len(list)

 */
public class DemoArrayList {
    public static void main(String[] args) {
        // 创建一个ArrayList集合，集合的名称是list，里面装的全都是String字符串类型的数据
        // 备注：从JDK1.7开始，右侧的尖括号内部可以不写内容，但是<>本身还是要写的
        ArrayList<String> list = new ArrayList<>();
        System.out.println(list);  // []

        // 增加 add()方法
//        list.add(111);  只能添加创建时，规定的类型
        list.add("啊哈哈");
        list.add("啊哈哈ha");
        System.out.println(list); // [啊哈哈, 啊哈哈ha]


        boolean b = list.add("124");
        System.out.println(b);  // 返回值，boolean类型


        String get1 = list.get(1);
        System.out.println(get1); // 啊哈哈ha

        String rem = list.remove(0);
        System.out.println(rem); // 啊哈哈

        int length = list.size();
        System.out.println(length); // 2

        System.out.println(list);

        // 遍历集合   快捷： list.fori 快速生成
        for (int i = 0; i < list.size(); i++) {
            System.out.println(list.get(i));
        }
    }
}
